package flower;

import java.util.Scanner;

/*
     鲜花销售系统首页
 */
public class FlowerIndex {
    // 准备一个键盘输入对象
    public static final Scanner INPUT = new Scanner(System.in);

    // 准备一个存订单对象的数组
    public static final FlowerOrder[] orderList = new FlowerOrder[5];

    // 让第一开始就初始化5条数据存入数组中
    static {
        orderList[0] = new FlowerOrder("1001","金色海岸-香槟玫瑰",10,318.0,"2016-12-12","胡培元","");
        orderList[1] = new FlowerOrder("1002","初心永不变-白玫瑰",99,538.0,"2016-12-20","张发荣","");
        orderList[2] = new FlowerOrder("1003","梦里花开-紫色桔梗",40,148.0,"2016-12-24","愿意梦","烟波...");
        orderList[3] = new FlowerOrder("1004","心花怒放-粉香百合",120,188.0,"2016-12-26","样林峰","内层...");
        orderList[4] = new FlowerOrder("1005","执青春-无声的爱",1000,219.0,"2016-12-18","张秋生","我爱李...");
    }

    public static void main(String[] args) {
        outer:
        while (true) {
            System.out.println("====================欢迎光临\"七彩鲜花\"销售管理系统========================");
            System.out.println("1.查询销售订单");
            System.out.println("2.修改销售订单");
            System.out.println("3.删除销售订单");
            System.out.println("4.系统退出");
            System.out.println("=========================================================================");

            // 键盘输入一个整数：choice   代表4个功能
            System.out.println("请输入您的选择：");
            int choice = INPUT.nextInt();

            // 判断选择的是哪个功能
            switch (choice){
                case 1:
                    // 查询所有订单功能  findAll()
                    findAll();
                    break;
                case 2:
                    // 修改订单的功能  update()
                    update();
                    break;
                case 3:
                    // 删除订单的功能  delete()

                    break;
                default:
                    // 系统退出功能 delete()
                    System.err.println("退出系统");
                    break outer;
            }
        }
    }

    // 修改订单的功能  update()
    public static void update(){
        System.out.println("请输入销售编号：");
        String uid = INPUT.next();

        // 拿到uid去数组中遍历查找有没有这个id的对象 , 没有就提示
        // 假设没有
        boolean flag = false;
        // 遍历数组
        for (FlowerOrder order : orderList) {
            if(order.getId().equals(uid)){
                flag = true;
                break;
            }
        }
        // 判断flag
        if(flag == false){ // 没有uid的订单
            System.out.println("对不起,您要修改的订单号不存在！");
            return;
        }
        // 有uid的订单
        System.out.println("您要修改的订单详细信息如下：");
        System.out.println();

        // 输出表头信息
        System.out.println("编号\t鲜花名称\t销售数量\t价格\t销售日期\t销售员\t备注");
        for (FlowerOrder order : orderList) {
            if (order.getId().equals(uid)){
                System.out.println(""+order.getId()+"\t"+order.getName()+"\t"+order.getNumber()+"\t"+order.getPrice()+"\t"+order.getDate()+"\t"+order.getSalEmp()+"\t"+order.getBeiZhu()+"");
            }
        }
        System.out.println();

        // 录入新的修改后的信息
        System.out.println("请输入修改后的鲜花名称：");
        String newName = INPUT.next();
        System.out.println("请输入修改后的销售数量：");
        int newNumber = INPUT.nextInt();
        System.out.println("请输入修改后的鲜花价格：");
        double newPrice = INPUT.nextDouble();
        System.out.println("请输入修改后的销售日期:(yyyy-MM-dd)");
        String newDate = INPUT.next();
        System.out.println("请输入修改后的销售员：");
        String newSalEmp = INPUT.next();
        System.out.println("请输入修改后的备注：");
        String newDecript = INPUT.next();

        // 封装对象
        FlowerOrder order = new FlowerOrder(uid, newName, newNumber, newPrice, newDate, newSalEmp, newDecript);

        System.out.println("您确定压迫修改吗？(y/n)");
        String conf = INPUT.next();
        if("y".equals(conf)){
            // 将 order 替换数组中id为uid的对象元素
            for (int i = 0; i < orderList.length; i++) {
                FlowerOrder fo = orderList[i];
                if(fo.getId().equals(order.getId())){
                    orderList[i] = order;
                    break;
                }
            }
            System.out.println("修改成功！");
        }

        // 重新查询一遍
        findAll();
    }

    // 定义方法：查询所有订单功能
    public static void findAll(){
        // 1. 打印表头
        System.out.println("编号\t鲜花名称\t销售数量\t价格\t销售日期\t销售员\t备注");
        // 2. 打印查询到的5条数据
        for (FlowerOrder flowerOrder : orderList) {
            System.out.println(""+flowerOrder.getId()+"\t"+flowerOrder.getName()+"\t"+flowerOrder.getNumber()+"\t"+flowerOrder.getPrice()+"\t"+flowerOrder.getDate()+"\t"+flowerOrder.getSalEmp()+"\t"+flowerOrder.getBeiZhu()+"");
        }
        System.out.println();
        System.out.println();
    }


}
